.loader {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(129, 129, 129, 0.3);
    backdrop-filter: blur(10px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: clip-path 1s ease;
}


/* 中间百分比文字 */
.percentage {
  position: absolute;
  font-family: Arial, sans-serif;
  font-size: 20px;
  fill: #333;
  font-weight: bold;
  display: flex;
  justify-self: center;
  text-shadow: #333 0 0 5px;
  z-index: 6;
}



#smain {
  fill: transparent;
  stroke: #009FFD;
  stroke-width: 0;
  filter: drop-shadow(12px 12px 7px rgba(73, 73, 73, 0.5));
  animation: strokeAnimate 1s forwards;
  animation-delay: 1s;
}

@keyframes strokeAnimate {
  0% {
    fill: aliceblue;
  }

  100% {
    fill: #009FFD;
  }
}

#slu {
  opacity: 0;
  filter: drop-shadow(12px 12px 7px rgba(0,0,0,0.5));
  animation: fadeInOut 0.5s forwards;
  animation-delay: 1.5s;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#sld {
  opacity: 0;
  filter: drop-shadow(12px 12px 7px rgba(0,0,0,0.5));
  animation: fadeInOut 0.5s forwards;
  animation-delay: 1.7s;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#srd {
  opacity: 0;
  filter: drop-shadow(12px 12px 7px rgba(0,0,0,0.5));
  animation: fadeInOut 0.5s forwards;
  animation-delay: 1.9s;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#shd {
  opacity: 0;
  filter: drop-shadow(12px 12px 7px rgba(0,0,0,0.5));
  animation: fadeInOut 0.5s forwards;
  animation-delay: 1.9s;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
#logo {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30vh;
  width: 30vw;
  z-index: 1;
}
#bubble {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30vh;
  width: 30vw;
  z-index: 2;
}
.bubble {
  opacity: 0;
  animation: rise 2s linear infinite;
  animation-delay: 1.5s;
}
@keyframes rise {
  0% {
    transform: translateY(0);
    opacity: 0.5;
  }
  100% {
    transform: translateY(-25vh);
    opacity: 0;
  }
}
.bubble:nth-child(1) { animation-delay: 0.2s; }
.bubble:nth-child(2) { animation-delay: 0.4s; }
.bubble:nth-child(3) { animation-delay: 0.6s; }
.bubble:nth-child(4) { animation-delay: 0.5s; }
.bubble:nth-child(5) { animation-delay: 0.7s; }
.bubble:nth-child(6) { animation-delay: 0.8s; }
.bubble:nth-child(7) { animation-delay: 0.5s; }
.bubble:nth-child(8) { animation-delay: 0.6s; }
#progressSVG {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 8vh;
  width: 45vw;
  z-index: 3;
  top: 60vh;
}
